import Vue from 'vue'

import 'normalize.css/normalize.css' // A modern alternative to CSS resets
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import locale from 'element-ui/lib/locale/lang/zh-CN' // lang i18n

import '@/assets/mapbox/mapbox-gl-enhance.css'
import '@/assets/mapbox/mapbox-gl-enhance.js'
import '@/assets/mapbox/iclient9-mapboxgl.min.js'
import '@/assets/mapbox/iclient9-mapboxgl.min.css'

import '@/assets/css/styles/index.scss' // global css
import '@/assets/css/main.css'

import App from './App'
import store from './store'
import router from './router'

import '@/assets/icon/iconfont.css' // icon
import '@/assets/css/animate-marker-layer.scss'
import '@/icons/index'
import '@/permission' // permission control

// 引入动画
import animated from 'animate.css'
import dataV from '@jiaminghi/data-view'
import less from 'less'

/**
 * This project originally used easy-mock to simulate data,
 * but its official service is very unstable,
 * and you can build your own service if you need it.
 * So here I use Mock.js for local emulation,
 * it will intercept your request, so you won't see the request in the network.
 * If you remove `../mock` it will automatically request easy-mock data.
 */

Vue.use(dataV)

Vue.use(ElementUI, { locale })

Vue.use(animated)

Vue.use(less)

Vue.prototype.bus = new Vue()

Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})
